package heroes;

import java.util.ArrayList;
import java.util.Collection;

import junit.framework.TestCase;


public class ClasseTest extends TestCase {
	Classe c1;
	HeroeP h;
	HeroeP h1;
	HeroeP h2;
	protected void setUp()
	{
		RetroProjecteur retro1=new RetroProjecteur ("SN4447599F","Compaq");
		c1 = new Classe("B103",1,2,retro1);
		PouvoirP p = new PouvoirP("invincible");
		
		h = new HeroeP("Bennett", "Claire", 18, 90, p);
		h1 = new HeroeP("Sillar", "MR", 0, 999, p);
		h2 = new HeroeP("Patrijjjjj", "BUEL", 90, 0, p);
	}
	
	protected void tearDown()
	{
		
	}
	public ClasseTest (String s)
	{
		super(s);
	}
	
	public void testMarqueRetro()
	{
		RetroProjecteur retro=new RetroProjecteur ("SN444JJUH4","Compaq");
		assertEquals(retro.getMarque(),"Compaq");
		
	}
	
	public void testNomClasse()
	{
		Classe c = new Classe("B203",10,20,null);
		assertEquals(c.getNom(),"B203");
	}
	
	public void testRetroClasse()
	{
		RetroProjecteur retro=new RetroProjecteur ("SN444JJUH4","Compaq");
		Classe c = new Classe("B203",10,20,retro);
		assertEquals(c.getRetro(),retro);
	}
	
	
	public void testEtage()
	{
		Etage e = new Etage(2,null);
		assertEquals(e.getNumEtage(),2);
	}
	
	public void testClassesEtage()
	{
		RetroProjecteur retro1=new RetroProjecteur ("SN4447599F","Compaq");
		RetroProjecteur retro2=new RetroProjecteur ("SN444JJUH4","Compaq");
		
		Classe c1 = new Classe("B103",10,20,retro1);
		Classe c2 = new Classe("B205",15,30,retro2);
		
		Etage e1 = new Etage(1,null);
		Etage e2 = new Etage(2,null);
		
		// Association bidirectionelle
		e1.addClasse(c1);
		assertEquals(c1.getEtage(),e1);
		c1.setEtage(e2);
		assertEquals(c1.getEtage(),e2);
	}
	
	public void testFusion()
	{

		c1.ajouterHeroes(h1);
		c1.ajouterHeroes(h1);
		c1.ajouterHeroes(h2);
		
		assertTrue("testCapacite", c1.mesHeroes.size() <= c1.nbChaises);
	}


}
